Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MSbuild] Expand support to Visual Studio 2019. #6256

Merged
merged 3 commits into from
Aug 17, 2019

Conversation

ZeeWanderer
Copy link
Contributor

@ZeeWanderer ZeeWanderer commented Jul 23, 2019

  • Detect and use MSVC version for NMake CL
    • llvm and glslang projects modified to detect and use Visual Studio Version.
    • Added -Thost=x64 to llvm NMake CL (warning in cmake lists)

Note: -A option is used to set platform since rpcs3 requires cmake 3.8.3+ anyway.

  • Extend support to v142 toolset
    • Added support for current default toolset, explitly specified c++17 standard and 8.1 win sdk.
      • properties were defined via common_default.props and common_default_macros.props
        Note: There are 2 files because some properties need to be imported before Microsoft.Cpp.Default.props , but other common properties can be imported after but they require marco defined in Microsoft.Cpp.Default.props.
    • Added hidapi and libusb project files to repository to simplify msbuild changes.

Status: awaiting review/merge

@ZeeWanderer
Copy link
Contributor Author

Btw what about VS2019 support? Both VS20[19-17] can be supported by specifying $(DefaultPlatformToolset) as Toolset and explicitly passing /std:c++17. That way VS2019 users would not need to install v141 toolset, it would obscure real toolset value thou.

@JohnHolmesII
Copy link
Contributor

There's currently an unknown bug with 142. The emu builds but does not launch.

@ZeeWanderer
Copy link
Contributor Author

ZeeWanderer commented Jul 23, 2019

That is because std:c++17 is not specified, also rpcs3_default.prop adds /std:latest(which is partial c++20 in case of vs2019) as additional option. I successfully built rpcs3 with c++17 and 142 the toolset. Tested on P5, not extensively thou.

EDIT: I can push c++17 v14[1-2] changes here so they could be tested, but hidapi and libusb would require updating their respective submodules. Would have to build those 2 with 141 for the time being.

EDIT_1: Maybe it is better to place hidapi and libusb project files in this repo? It would be a lot easier to make MSbuild build system changes.

@ZeeWanderer ZeeWanderer changed the title [MSbuild] Detect and use MSVC version for NMake CL. [MSbuild] Expand support to Visual Studio 2019. Jul 24, 2019
@ZeeWanderer ZeeWanderer force-pushed the cmake_vsdf branch 5 times, most recently from 3bf0bba to b4da864 Compare July 24, 2019 16:24
@ZeeWanderer ZeeWanderer marked this pull request as ready for review July 24, 2019 17:15
Copy link
Contributor

@kd-11 kd-11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

 - llvm and glslang projects modified to detect and use Visual Studio Version.
 - Added `-Thost=x64` to llvm NMake CL (warning in cmake lists)
Note: `-A` option is used to set platform since rpcs3 requires cmake 3.8.3+ anyway.
 - Added support for current default toolset, explitly specified c++17 standard and 8.1 win sdk.
  - properties were defined via `common_default.props` and `common_default_macros.props`
 Note: There are 2 files because some properties need to be imported before `Microsoft.Cpp.Default.props` , but other common properties can be imported after but they require marco defined in `Microsoft.Cpp.Default.props`.
- Added hidapi and libusb project files to repository to simplify msbuild changes.
@AniLeo AniLeo requested a review from Nekotekina August 4, 2019 18:53
@Nekotekina Nekotekina merged commit 92e6dee into RPCS3:master Aug 17, 2019
@ZeeWanderer ZeeWanderer deleted the cmake_vsdf branch August 17, 2019 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants